
/**
 * Copyright (c) 2012-2013 JLLT Corp. 2012-2013,All Rights Reserved.
 * This software is published under the 金麟龙腾商贸有限公司.
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file. 
 *
 * @File name:  BatchDeleteTSystemUserAction.java   批量删除【系统用户信息:T_SYSTEM_USER】
 * @Create on:  2012-06-25 21:11:292
 * @Author   :  陈伟
 *
 * @ChangeList
 * ---------------------------------------------------
 * Date         Editor              ChangeReasons
 *
 */

package com.boho.ecp.manage.user.action;

import java.sql.Connection;
import java.util.Date;

import cn.boho.framework.actions.ActionImp;
import cn.boho.framework.context.ActionContext;
import cn.boho.framework.exception.UserOperationException;
import cn.boho.framework.po.POUtils;
import cn.boho.framework.service.MessageService;

import com.boho.ecp.constant.User;
import com.boho.ecp.po.TSystemUserPO;

public class BatchDeleteTSystemUserAction extends ActionImp {
	private Object[] systemUserId;
	private Connection con = null;

	@Override
	protected void doException(ActionContext atx, Exception ex) {
		if (!(ex instanceof UserOperationException)) {
			atx.setErrorContext("BOHO_COMMON_1003", MessageService.getMessage("BOHO_COMMON_1003"), "【系统用户信息】", ex);
		}
	}

	@Override
	protected int performExecute(ActionContext atx) throws Exception {
		Integer updateBy = (Integer)atx.getSessionValue(User.USER_NO_SESSION);
		Date updateDate = new Date();
		if (systemUserId != null) {
			for (int i = 0; i < systemUserId.length; i++) {
				TSystemUserPO conditionTSystemUserPO = new TSystemUserPO();
				TSystemUserPO valueTSystemUserPO = new TSystemUserPO();
				conditionTSystemUserPO.setSystemUserId(systemUserId[i] == null || systemUserId[i].toString().trim().equals("") ? -1 : new Integer((String) systemUserId[i]));
				valueTSystemUserPO.setIsValid(User.INVALID);
				valueTSystemUserPO.setUpdateBy(updateBy.toString());
				valueTSystemUserPO.setUpdateDate(updateDate);
				POUtils.update(con, conditionTSystemUserPO, valueTSystemUserPO);
				logger.info("删除操作：" + updateBy
						+ "@" + new Date(System.currentTimeMillis())
						+ "删除表：【系统用户信息:T_SYSTEM_USER】 主键【" + systemUserId[i]
						+ "】");
			}
		}
		return 1;
	}

	@Override
	protected int verifyParameters(ActionContext atx) throws Exception {
		con = atx.getConection();
		systemUserId = atx.getArrayValue("SYSTEM_USER_ID");
		return 1;
	}
}
